<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8"/>
    <title>Title</title>
    <link rel="stylesheet" href="css/help.css"/>
    <!-- CSS -->
    <link
            href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/4.6.2/css/bootstrap.min.css"
            rel="stylesheet"
            integrity="sha384-xOolHFLEh07PJGoPkLv1IbcEPTNtaed2xpHsD9ESMhqIYd0nLMwNLD69Npy4HI+N"
            crossorigin="anonymous"
    />
    <!-- jQuery and JavaScript Bundle with Popper -->
    <script
            src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.slim.js"
            integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj"
            crossorigin="anonymous"
    ></script>
    <script
            src="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/4.6.2/js/bootstrap.bundle.min.js"
            integrity="sha384-7ymO4nGrkm372HoSbq1OY2DP4pEZnMiA+E0F3zPr+JQQtQ82gQ1HPY3QIVtztVua"
            crossorigin="anonymous"
    ></script>
</head>
<body>
<h2 style="text-align: center">项目无法启动端口被占用</h2>
<div id="content">
    <div id="left" data-spy="scroll" data-target="#nav" data-offset="0">
        <div id="content1">
            <h3>443端口被占用:在启动过程出现类似如下的报错</h3>
            <img src="img/1683775686113.jpg"/>
            <p>
                <strong>从信息可以看到，443端口被占用了，我们需要释放该端口</strong
                >以<span>管理员身份运行</span>cmd 使用指令<span
            >netstat -aon | findstr 0.0.0.0:443</span
            >来查找占用此端口的进程pid
            </p>
            <img src="img/image-20230510193302932.png"/>
            <p>
                我们可以看到，上方占用443端口的进程pid为16776,我们需要根据pid来结束该进程
            </p>
            <p><span>taskkill /f /pid 16776</span></p>
            <p style="color: red">
                如果出现拒绝访问，请检查是否以管理员身份运行cmd！
            </p>
        </div>
        <div id="content2">
            <h3>80端口被占用：关闭PHP服务并禁用</h3>
            <p>
                由于上学期我们学习了PHP安装了PHP的服务，默认使用的是80端口，我们需要在服务里将其禁用
            </p>
            <p>打开运行窗口（windows徽标键 + R）输入<span>services.msc</span></p>
            <img src="img/1683780801484.jpg" alt=""/>
            <p>在服务中找到apache服务</p>
            <img
                    src="img/883d0324aa914db5f16878b1dbd49e9.jpg"
                    alt=""
                    width="1150px"
            />
            <p>对着apache服务邮件选择属性</p>
            <img
                    src="img/5afdf57a1c0a4d897a0281a51dc8334.jpg"
                    alt=""
                    width="1150px"
            />
            <p>在弹出框中找到启动类型下拉框，选择禁用，然后点击确认</p>
            <img
                    src="img/adcb5da737104b33f76456996e632f0.jpg"
                    alt=""
                    width="1150px"
            />
        </div>
        <div id="content3">
            <h3>80端口被pid为4的进程占用</h3>
            <p>pid为4的进程的进程名为system</p>
            <img src="img/20230511130321.png" alt="">
            <p>该端口被系统的http服务占用，我们需要去把这个服务给关闭</p>
            <p>打开运行窗口(windows徽标键 + R) 输入<span>regedit</span></p>
            <img src="img/20230511130826.png" alt="">
            <p>在注册表编辑器中的地址栏输入<span>计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP</span>
            </p>
            <img src="img/20230511131022.png" alt="" width="1150px">
            <p>在右侧找到start项，双击，在弹出的窗口里将数值改为0</p>
            <img src="img/20230511131229.png" alt="" width="1150px">
            <p>更改完成之后重启电脑即可</p>
            <p>占用80端口的程序不一定会是这两个的其中一个，也许其他程序也会占用该端口；</p>
            <p>解决方法可参考此页面的<a href="#content1">443端口被占用</a></p>
        </div>
    </div>
</div>
<div class="header">
    <nav id="nav" class="navbar navbar-light bg-light">
        <ul class="nav nav-pills">
            <li class="nav-item">
                <a class="nav-link" href="#content1">443端口被占用</a>
            </li>
            <li class="nav-item">
                <a class="nav-link" href="#content2">80端口被apache占用</a>
            </li>
            <li class="nav-item">
                <a class="nav-link" href="#content3">80端口被pid为4的进程占用</a>
            </li>
        </ul>
    </nav>
</div>
</body>
</html>
